package w.z.x.framework.repository;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import w.z.x.framework.repository.annotations.*;
import w.z.x.framework.repository.factory.MysqlFactory;

import java.io.Serializable;
import java.util.Date;

/**
 * 测试类
 *
 * @author 魏祖潇
 */
@Slf4j
@Data /* getter / setter */
@Mapper("t_user") /* reflect to table */
public class User extends MysqlFactory implements Serializable {

    /**
     * 自增ID
     */
    @GenKey
    private Long id;

    /**
     * 创建时间，新增时自动填充
     */
    private Date createTime;

    /**
     * 修改时间，新增或修改时自动填充
     */
    private Date modifyTime;

    /**
     * 逻辑删，新增时自动填充，查询时自动拼接到where条件
     */
    @LogicDelete
    private Boolean deleted;

    /**
     * 乐观锁，新增时自动填充，更新时自增且拼接到where条件
     */
    @Version
    private Long version;

    /**
     * 用户名
     */
    @ID
    private String username;

    /**
     * 性别
     */
    private Gender gender;

    /**
     * html
     */
    private String html;

    /**
     * 不持久化属性
     */
    @Transient
    private Integer ignore;

    /**
     * 其他行为方法
     */
}
